For a variety of reasons, many businesses maintain many copies of the same data. For example, an international corporation may replicate critical data across many databases located around the world. Reasons for maintaining multiple replicas of the same data include, but are not limited to:    business continuity and disaster recovery;    performance optimization for local clients;    content localization and caching;    compliance to local laws; and    integration of datacenters obtained through mergers and acquisitions.
While maintaining several replicas of the same data may provide multiple benefits, it can also be cumbersome if not managed efficiently. Consequently, database systems have been developed which provide “database services” and which allow service-level workload management across the database server instances that belong to the same cluster grid.
Unfortunately, managing workload across the database server instances that belong to a cluster grid does not account for the potentially numerous replicas that are being maintained outside that grid. A distributed environment typically supports a greater degree of heterogeneity than a cluster. For example, within a distributed environment, the various systems across which replicas are maintained may have different hardware architectures, different operating systems, even different types of database systems. Unlike a cluster, databases in a distributed environment do not have access to shared storage for keeping state. Hence, it would be desirable to have a mechanism by which multiple distributed replicas of the same data may be efficiently managed.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.